Method for extracting raw data from an image resulting from a camera shot

ABSTRACT

The method according the invention allows the extracting raw data from an image resulting from a camera shot. 
     It comprises determining, for each point of the image of a combination V 0 [C,L] of colour components of the image, calculating, for each point of the image, of a value V N+1 [C,L], iterating said calculating a predetermined number of times then taking into account the values of the final image V Nfinal  [C, L] in each point of the image, calculating for each point of the image of the difference D [C, L]=V Nfinal  [C, L]−V 0  [C, L], calculating of a noise contextual datum V S , correcting the extracted raw data D[C, L], with the contextual datum V S , calculating of a corrected value I*[C, L] taking into D*[C, L] and presenting the extracted data under a desired angle.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method for extracting raw data froman image resulting from a camera shot.

More specifically but not exclusively, it relates to a method forpresenting data extracted from an image along a desired view angle, froma digital image taken by a photographic or cinematographic camerawhether integrated or not into a communication device under anyincidence.

It is notably applied to transmission and storage of text data anddigitized graphics viewed beforehand by a camera under any incidence andthen processed by correcting the projective deformation and/oroptionally by enhancing the resolution in order to obtain a correctedimage having higher legibility, viewed along an angle of incidencedifferent from that of the camera shot, for example under normalincidence or any predetermined incidence. Of course, with the inventionuseful information may be extracted before or after correction. Such aprocess is most particularly suitable for transmitting text and/orgraphic information taken by a camera fitted onto a portablecommunications terminal, such as for example, a cellular radiotransmitter/receiver.

2. Description of the Prior Art

Of course, in order to extract raw data relating to printed orhand-written information in an image and to infer from them, zones to becorrected, the applicant has already proposed a solution consisting ofextracting the information by calculating, as extracted raw data, adifference image D(C, L) (in fact, the contrast between the background'slight level and the light level of the data to be extracted). Athreshold value is used for selecting the values to be extracted fromthis difference image. This threshold value V_(s) may thereby beselected as a threshold value of the gradient for removing the grid oflines (square pattern). However, this method has the followingdrawbacks:

If no grid of lines is present in the original image, value V_(s)corresponds to the threshold for removing noise. It is found that thisthreshold is difficult to obtain by using a conventional histogramtechnique which does not provide satisfactory results.

If grid lines are present, the correct threshold for finding a patternmay be determined, but this threshold value cannot always be used as athreshold for extracting a piece of information. Indeed, this thresholdvalue always does not remove either grid lines or noise completelybecause the non-predictive image contrast varies like a diffusesaturation and like fogged image surfaces due to random illuminationconditions.

In the case of color images, three channels (red, green and blue) needto be considered and it is not clearly apparent whether one should haveone threshold per channel or one threshold for all the channels.

Moreover, it is known that reading and/or interpretation by a person ofa text or graphic reproduced from information delivered by a camerawhich views an original document, assumes that shooting is performedunder or close to normal incidence in order to allow recognition ofletters composing the text and interpretation of the graphic (which mostoften requires observance of the shapes and proportions).

Indeed, when the document is viewed by a camera under any incidence, theproduced image has a projective deformation: accordingly, starting froma certain distance from the camera, disappearance of details which arerequired for character recognition and for consequently understandingthe document, is reported.

In order to eliminate these drawbacks, the applicant has alreadyproposed a solution consisting of extracting identifiable contextualdata present in the image taken by the camera and correcting the raw orextracted data delivered by the camera by means of these contextualdata, the corrected data being then stored in memory and/or transmittedto an addressee so as to be displayed for reading purposes.

The contextual data used for performing the correction of raw data mayaffect a pattern (a physical, plotted or printed contour) initiallyexisting in the document or reported beforehand, certain parameters ofwhich are known beforehand. The correction process may then comprise thefollowing steps:

-   -   searching for this pattern in the raw image taken by the camera,    -   calculating projective deformations exhibited by the raw image,        from deformations of the pattern which it contains and which        arise through changes in the aforementioned parameters,    -   determining the corrections to be made to the raw data or to the        extracted data depending on the projective deformations,    -   generating an image containing the corrected data, while taking        into account the corrections determined beforehand.

The pattern searching step is then obtained by a first searchingsequence including:

-   -   detecting boundaries present in the image,    -   extracting boundaries, the length of which exceeds a        predetermined value, and    -   detecting zones delimited by the boundaries found, with a        sufficient surface area (larger than a predetermined value) and        not touching the edge of the image.

For each area found, this process comprises a calculation step fordetermining the main axis of the zone, for finding a point external tothe zone on said main axis, the construction of an external cone issuedfrom the external point, the extraction of the points from the boundary,the external normal of which is opposed to the vector which joins it andstarts from the external point, the calculation of the line borne by themain axis of the extracted points, when the four lines are found, thecalculation of four apices of the quadrilateral derived from the fourlines and then, when the surface area of the quadrilateral is close tothe surface area of the zone, the calculation of the homographydeforming the quadrilateral into a rectangle having pre-establishedproportions.

It is found that one of the drawbacks of this method precisely consistsin that it involves proportions set beforehand. Of course, if theseproportions set beforehand are not the initial ones, the homographictransformation performed on the image leads to changes in theproportions of the objects contained in the corrected image.

Moreover, it is found that the homographic calculations used hitherto,are particularly complicated. Indeed, for each pixel of the final image,a zone of the initial image needs to be determined, the luminance andchrominance values of which are read in order to subsequently assignthem in the final image to the location which this pixel should haveaccording to a homographic relationship.

Now, it is seen that the written text portion in an image generally doesnot comprise more than 20% of the pixels of this image so that theremaining 80% of the pixels of the image are of no interest.

OBJECT OF THE INVENTION

Accordingly, the object of the invention notably is to solve theseproblems.

For this purpose, first of all, it provides a method for accuratelydetermining a noise contextual datum used for correcting the extractedraw data, and notably, the threshold value V_(s) at which the printed orhandwritten information may be extracted without being concerned withknowing whether the grid lines are present or not, regardless of thesought-after pattern. Further, this threshold value may be used as agradient threshold for seeking the pattern in order to reduce theprocessing requirements to the one and only pattern searching step. Ifthe intention is to extract information for a color image, each colorcomponent of the image should be considered for calculating a uniquethreshold in order to extract color information.

An image having a grey level is then considered, which may consist in acombination of three color channels of the image (red-green-blue) or inone of these channels.

SUMMARY OF THE INVENTION

More specifically, the invention provides a method for extracting rawdata from an image resulting from a camera shot, characterized in thatit comprises the following steps:

a) determining for each point located by column C and line L of theimage, a value V_(s)[C, L] consisting of a combination of components ofthe color of the image, expressed as:

V ₀ [C,L]=αRed[C,L]+βGreen[C,L]+γBlue[C,L]

formula wherein α, β, γ are coefficients which may for example satisfythe following relationships:

α+β+γ=1 and α,β,γ≧0

b) calculating for each point of the image, a background valueV_(Back.)(C, L)

c) calculating for each point of the image, the difference D[C, L]

D[C,L]=V _(Back.) −V ₀ [C,L](dark data/bright background)

or

V₀[C,L]−V_(Back.)(bright data/dark background)

d) calculating a threshold value V_(S) consisting of a noise contextualdatum used for correcting the extracted raw data, from at least onecontrast histogram and/or from the probability q that a regional maximumof the raw data D[C, L] contains noise

e) correcting the raw data D[C, L] by means of the noise contextualdatum V_(S) resulting in extracted data D*[C, L]

f) calculating for each point of the image, a corrected value I*[C,L],taking into account the corrected raw datum D*[C, L]

g) optionally presenting the extracted data or the image containing themunder a desired angle.

Advantageously,

-   -   the background value V_(Back.) may be determined by an operating        sequence comprising the following steps:        -   calculating for each point of the image, a value            V_(N+1)[C,L] which is the maximum (dark data on bright            background) or minimum (bright data on dark background)            value between the value V_(N)[C,L] and different averages of            V_(N) values over symmetrical structuring items centered on            [C,L],        -   iterating said calculation a predetermined number of times            (N_final) and then taking into account the values of the            final image V_(N) _(—) _(final) as the values of the            background image V_(Back.),        -   the calculation of value V_(N+1)[C,L] may be obtained by a            relationship of the type:

${V_{N + 1}\left\lbrack {C,L} \right\rbrack} = {{\max \left( \frac{dark}{{bright}\mspace{14mu} {background}} \right)}\left( {{or}\mspace{14mu} {\min \left( \frac{bright}{{dark}\mspace{14mu} {background}} \right)}} \right)\begin{Bmatrix}{V_{N}\left\lbrack {C,L} \right\rbrack} \\\frac{{V_{N}\begin{bmatrix}{{C + 1},} \\{L + 1}\end{bmatrix}} + {V_{N}\begin{bmatrix}{{C - 1},} \\{L - 1}\end{bmatrix}}}{2} \\\frac{{V_{N}\begin{bmatrix}{{C + 1},} \\{L - 1}\end{bmatrix}} + {V_{N}\begin{bmatrix}{{C - 1},} \\{L + 1}\end{bmatrix}}}{2} \\\frac{{V_{N}\left\lbrack {C,{L + 1}} \right\rbrack} + {V_{N}\left\lbrack {C,{L - 1}} \right\rbrack}}{2} \\\frac{{V_{N}\left\lbrack {{C + 1},L} \right\rbrack} + {V_{N}\left\lbrack {{C - 1},L} \right\rbrack}}{2}\end{Bmatrix}}$

-   -   the background image V_(Back.) may also be determined by an        operating sequence comprising the following steps:        -   generating an image V_(N+1), four times smaller than V_(N),            comprising the calculation for each point of the image, of a            value V_(N+1)[C,L] which is the maximum (dark data on bright            background) or the minimum (bright data on dark background)            between a local average of V_(N) centered on the point            [2C+½, 2L+½] (the four adjacent pixels here) and at least a            local average including a larger number of pixels (the 16            adjacent pixels here); image V_(N+1) then being four times            smaller than image V_(N),        -   iterating said calculation, a predetermined number of times            V_(NFinal),        -   interpolating values of the image V_(N) _(—) _(Final) in            order to obtain the values of V_(Back.) which has the same            size as the initial image V₀,    -   the value V_(N+1)[C,L] may be determined by an operating        sequence comprising:

${V_{N + 1}\left\lbrack {C,L} \right\rbrack} = {{\max \left( \frac{dark}{{bright}\mspace{14mu} {background}} \right)}\left( {{or}\mspace{14mu} {\min \left( \frac{bright}{{dark}\mspace{14mu} {background}} \right)}} \right)\begin{Bmatrix}{\frac{\begin{matrix}{{V_{N}\left\lbrack {{2\; C},{2\; L}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} + 1},{2\; L}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{2\; C},{{2L} + 1}} \right\rbrack} +} \\{V_{N}\left\lbrack {{{2\; C} + 1},{{2\; L} + 1}} \right\rbrack}\end{matrix}}{4},} \\\frac{\begin{pmatrix}{{V_{N}\left\lbrack {{{2\; C} - 1},{{2\; L} - 1}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} - 1},{2\; L}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} - 1},{{2\; L} + 1}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} - 1},{{2\; L} + 2}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{2\; C},{{2\; L} - 1}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{2\; C},{2\; L}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{2\; C},{{2\; L} + 1}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{2\; C},{{2\; L} + 2}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} + 1},{{2\; L} - 1}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} + 1},{2\; L}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} + 1},{{2\; L} + 1}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} + 1},{{2\; L} + 2}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} + 2},{{2\; L} - 1}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} + 2},{2\; L}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} + 2},{{2\; L} + 1}} \right\rbrack} +} \\{{V_{N}\left\lbrack {{{2\; C} + 2},{{2\; L} + 2}} \right\rbrack} +}\end{pmatrix}}{16}\end{Bmatrix}}$

The raw data D[C,L] are generally affected by a perspective deformationdue to the arbitrary position of the camera in front of the supportingmedium. The perspective deformation of the extracted raw data may becorrected with a known method for extracting geometrical contextualdata. Likewise, these extracted raw data are also affected by luminousand/or electronic noise which may be eliminated by thresholding asfollows:

After having calculated the noise contextual datum V_(S), for each pointof the image, a comparison of value D[C,L] with threshold value V_(S) ismade in order to determine the value D*[C,L] to be extracted in thefollowing way:

-   -   if D[C,L]<V_(S) then D*[C,L]=0    -   if D[C,L]≧V_(S), value D[C,L] is retained, i.e. D*[C,L]=D[C,L]        or else it is replaced with    -   D[C,L]−V_(S) i.e. D*[C,L]=D[C,L]−V_(S)

Generation of image I*(p) containing the extracted data according to thesubtractive principle, results from the calculationI*(p)=I_(max)−f·D*(p) (dark data/bright background), with I_(max), valueof the bright background, which may be equal to 255 for example, orI*(p)=I_(min)+f·D*(p) (bright data/dark background), I_(min) may beequal to zero.

The threshold value V_(S) is a noise contextual datum used forcorrecting raw data D[C,L]. It may be calculated according to a methodbased on the probability q that any regional maximum of raw datacontains noise. This method comprises the following operating phases:

-   -   a first phase wherein for each pixel p of a grey image I (either        a color channel or luminance) the following is performed:

a) for each direction d, with 0<|d|<D

if the following condition is satisfied:

-   -   convexity of I on [p−d, p+d], i.e.,

I(p+(1−2×)d)≦λI(p−d)+(1−λ)I(p+d) for any 0≦λ≦1 in case of dark databright background)

or

-   -   concavity of I on [p−d, p+d], i.e.,

I(p+(1−2×)d)≧λI(p−d)+(1−λ)I(p+d) for any 0≦λ≦1(bright data/darkbackground)

then G(p,d)=(I(p+d)+I(p−d))/2 is calculated

or else G(p,d)=0

b) a value S(p) is calculated, which is equal to the maximum value ofG(p,d) for all directions d with 0<|d|<D

as an alternative to this calculation of S(p), S(p) may be replaced withD(p), D(p) corresponding to the raw data,

-   -   a second step wherein a value S_(max) is calculated, which is        equal to the maximum value of S(p), for all pixels p    -   a third step wherein a histogram H(s) is reset to 0 for all        values of s between 0 and S_(max)    -   a fourth step for calculating the contrast histogram for the        regional maximum pixels containing the noise to be eliminated,        wherein this calculation may comprise:    -   a step wherein for each pixel p in the image S(p), if S(p) is a        regional maximum, H(S(p)) is incremented according to the        relationship H(S(p))←H(S(p))+1    -   a step wherein the identities S=S_(max) and N=1/q are determined        and as long as H(S) is less than N, S is replaced with S−1, the        final value of S is called 5 min, N is the minimum number of        regional maximum pixels such that the mathematical expected        value of the number of pixels containing noise is larger than or        equal to 1    -   a step wherein value V_(S) is calculated according to formula

V _(S) =r·S _(min)+(1−r)·S _(max, with) ½≦r≦1

The threshold value V_(S) may also be calculated according to thefollowing method:

1) A first step for calculating a histogram of the pits, H_pits,including the following operating phases:

a) for each pixel p of image I, the following is performed:

i. for each direction d with 0<|d|<D:

if the following condition is satisfied:

-   -   convexity of I on [p−d, p+d]

I(p+(1−2×)d)≦λI(p−d)+(1−λ)I(p+d) for any 0≦λ≦1

then G(p,d)=(I(p+d)+I(p−d))/2 is calculated

or else G(p,d)=0

ii. S(p)=maximum value of G(p,d), is calculated for all the directions dwith 0<|d|<D

as an alternative to this calculation of S(p), S(p) may be replaced witha value D(p) which corresponds to the raw data (dark data/brightbackground)

b) the maximum value of the pits, S pits_max is calculated, which isequal to the maximum value of S(p) for all pixels p

c) the pit histogram, H_pits, is reset to zero for each value of sbetween 0 and the maximum value of the pits, S_pit max

d) for each pixel p of the image S(p) the following calculations areperformed:

i. if S(p) is a regional maximum, H_pits (S(p)) is incremented in thefollowing way:

H_pits(S(p))←H_pits(S(p))+1

2) A second step for calculating the histogram of the bumps, H_bumps,includes the following operating phases:

a) for each pixel p of image I, the following is performed:

i. for each direction d with 0<|d|<D:

if the following condition is satisfied:

-   -   concavity of I on [p−d, p+d], i.e.,

I(p+(1−2λ)d)≧λI(p−d)+(1−λ)I(p+d) for any 0≦λ≦1(bright data/darkbackground) are satisfied

then G(p,d)=(I(p+d)+I(p−d))/2 is calculated

or else G(p,d)=0

ii. S(p)=maximum value of G(p,d) is calculated for all the directions dwith 0<|d|<D

as before, as an alternative to this calculation of S(p), the value S(p)may be replaced with a value D(p) which corresponds to the raw data(bright data/dark background)

b) the maximum value of the bumps, S bumps_max, is calculated, which isequal to the maximum value of S(p) for all pixels p

c) the bump histogram H_bumps(s) is reset to 0 for each s between 0 andthe maximum value of the bumps, S bumps_max

d) for each pixel p of the image S(p), the following calculations areperformed:

i. if S(p) is a regional maximum

H_bumps(S(p)) is incremented in the following way:

H_bumps(S(p))←H_bumps(S(p))+1

3) A third step for superimposing pit histogram H_pits and bumphistogram H_bumps, includes the following phases:

a) S_max is calculated according to the expression:

S_max=Max(maximum value of the pits,S_pits_max, maximum value of thebumps,S_bumps_max)

b) H_max is calculated according to the expression:

H_max=maximum value of the pits H_pits(S) and the bumps H_bumps(S) forall values of S

c) S0 is calculated according to the expression:

s0=maximum value of s such that H_pits(s)=H_max

or H_bumps(s)=H_max

d) s=s0+1 is calculated and α is selected such that 0<α<½ and as longas:

|ln(1+H_pits(s)−ln(1+H_bumps(s))|<α·ln(1+H_max)

s←s+1 is performed (wherein ln is Napier's logarithm function)

finally, value S_(min) is determined by the final value of s incrementedby 1

4) a step for calculating the extraction threshold V_(S) according tothe relationship:

V _(S) =r·S _(min)+(1−r)·S _(max) where ½≦r≦1

It is seen that step b) of the method for extracting raw data, isiterated a large number of times, so that the threshold valuescalculated by means of both methods described earlier via calculation ofS(p) do not allow the extracted raw data to be corrected efficiently.

This drawback may be suppressed by using the alternative consisting ofreplacing S(p) with D(p).

Thus, in this case, when the probability q that any regional maximum ofthe raw data contains noise, is known, the process for extracting thenoise contextual datum may comprise the following steps:

-   -   a first step wherein a value S_(max) is calculated, which is        equal to the maximum value of D(p) for all the pixels p=[C,L], D        being the image of the raw data to be corrected    -   a second step wherein a histogram is reset H(S)=0 for all values        of S between 0 and S_(max)    -   a third step wherein for each pixel p in image D(p), if D(p) is        a regional maximum, H(D(p)) is incremented according to the        relationship

H(D(p))←H(D(p))+1

-   -   a fourth step wherein the identities S=S_(max) and N=1/q are        determined and as long as H(S) is less than N, S is replaced        with S−1, the final value of S is called S_(min)    -   a fifth step wherein the value of the noise contextual datum        V_(S) is calculated according to formula

V _(S) =r·S _(min)+(1−r)·S _(max) with ½≦r≦1

If the probability q that any regional maximum of the raw data containsnoise, is not known, the process for extracting the noise contextualdatum V_(S) may comprise the following steps:

1) a first step for calculating a pit histogram, H_pits includes thefollowing operating phases:

-   -   a) the maximum values of the pits S_pits_max is calculated,        which is equal to the maximum value of D(p) for all the pixels        p, D being the image of the extracted dark-on-bright-background        raw data    -   b) the pit histogram H_pits is reset to 0 for each value of s        between 0 and the maximum value of the pits, S_pits_max    -   c) for each pixel p of image D(p),        -   if D(p) is a regional maximum        -   H_pits (D(p)) is incremented in the following way:

H_pits(D(p))←H_pits(D(p))+1

2) A second step for calculating a bump histogram, H_bumps includes thefollowing operating phases:

-   -   a) the maximum value of the pits S_bumps_max is calculated,        which is equal to the maximum value of D(p) for all pixels p, D        being the image of the extracted bright-on-dark-background raw        data    -   b) the pit histogram H_bumps is reset to 0 for each value of s        between 0 and the maximum value of the pits, S bumps_max    -   c) for each pixel p of the image D(p),        -   if D(p) is a regional maximum        -   H_bumps(D(p)) is incremented in the following way:

H_bumps(D(p))←H_bumps(D(p))+1

3) A third step for superimposing pit H_pits and bump H_bumps histogramsincludes the following operating steps:

-   -   a) calculating S_max according to the expression:

S _(max)=Max(maximum value of the pits S_pits_max,maximum value of thebumps S_bumps_max)

-   -   b) calculating H_max according to the expression:

H_max=maximum value of the pits H_pits(S) and of the bumps, H_bump(S)for all values of S

-   -   c) calculating s0 according to the expression:        -   S0=maximum value of s such that

H_pits(s)=H_max

-   -   -   or H_bumps(s)=H_max

    -   d) s=s0+1 is calculated and α is selected such that 0<α<½ and as        long as:

|ln(1+H_pits(s))−ln(1+H_bumps(s))|<α·ln(1+H_max)

-   -   -   s←s+1 is performed (where ln is Napier's logarithm function)        -   finally the value S_(min) is determined by the final value            of s incremented by 1

4) a step for calculating the value of the noise contextual datum V_(S)according to the relationship:

V _(S) =r·S _(min)+(1−r)·S _(max) where ½≦r≦1

Of course, information from a color image with red, green, blue colorchannels needs to be extracted. The steps of the method describedearlier may be followed for each color channel, by determining athreshold for each channel. Extraction of the color information from thered, green, blue channels and their recombination into a final colorimage may be performed by extracting the red, green, blue values in eachpixel for which it is seen that the threshold has been exceeded.

Moreover, with the purpose of eliminating the drawbacks of the searchingmethods for patterns (physical, plotted, or printed contours),expressing some contextual data and involving proportions setbeforehand, the invention proposes determining the real height/widthratio of the quadrilateral formed by four identified points of a patternpresent in the image of a contour which is used for determining somecontextual data of the image and this, in order to be able toreconstruct a document having the same proportions.

For this purpose, the applicant provides a method for presentinginformation extracted from an image of the aforementioned type along adesired view angle, from a picture taken by a camera under anyincidence, this method comprising:

-   -   searching for at least four identifiable characteristic points        of a pattern present in the image taken by the camera, defining        contextual data,    -   optional extraction of the data according to predetermined        criteria,    -   calculating geometrical deformations to be made on the raw        image, the information or the extracted data, from the relative        position of four points with respect to relative reference        positions,    -   determining corrections to be made to the raw image or to the        extracted data depending on the geometrical deformations,    -   generating an image containing the extracted data, taking into        account the thereby determined geometrical corrections.

This method is characterized in that, for obtaining an image containingextracted data having the same proportions as the object, it comprisesthe determination of the real height/width ratio of the quadrilateraldefined by the aforementioned points and the taking into account of thisratio r in generating the corrected image.

More specifically, determination of the proportions of the quadrilateral(rectangle) is carried out according to a process comprising thefollowing steps:

-   -   searching for four identifiable characteristic points of a        pattern present in the image,    -   determining the vanishing points from the sides of the        quadrilateral defined by the four points and determining a        horizon line connecting the vanishing points,    -   determining the coordinates of the projection point F of the        optical centre O of the camera on the horizon line,    -   calculating the camera base point (orthogonal projection of the        optical centre of the camera on the plane of the pattern) from        distances between the vanishing points and the projection point        F and from the distance between this projection point F and the        optical centre O,    -   calculating the focal length from the distances between the        optical centre, the projection point F and the camera base        point,    -   calculating the coordinates of the intersection points M₁ N₁, M₂        N₂, between the vanishing lines and the lines connecting the        camera base point and the vanishing points as well as points O₁,        O₂, P₁, P₂, located on the vanishing lines, at conventional        (elliptical) distances from the camera base point,    -   calculating the ratio of the sides of the initial pattern from        the coordinates calculated earlier by considering that the        rectangle O₁, O₂, P₁, P₂, is the projection of a square        extending in the plane of the pattern.

If only the vanishing lines of a same pair intersect at a vanishingpoint while both other vanishing lines are parallel (vanishing pointprojected to infinity), calculation of the r ratio will be carried outby starting with a pre-established focal length f of the camera.

If all the vanishing points are projected to infinity, ratio r is equalto the ratio of the lengths of the adjacent sides of the quadrilateral.

An important advantage of this method consists in that it is not verysensitive to lack of orthogonality of the adjacent sides of thequadrilateral which is frequently the case when the quadrilateral is apattern plotted by hand. Indeed, conventional solutions are particularlysensitive to such defects (instability in the case of lack oforthogonality).

Another advantage of this solution consists in that texts may bereproduced in which there is no alignment of characters.

With the purpose of alleviating homographic calculations notably byavoiding unnecessary calculations and by only applying them to thepixels which are relevant to the written text in the image and byreusing as much as possible calculations which have already beenperformed, the applicant proposes an operating sequence including thefollowing phases:

-   -   creating an initial (deformed) binary mask of the zones to be        corrected by isolating the useful portion of the initial image        containing the extracted data and by assigning the same binary        value (0 or 1) to the pixels of this useful portion,    -   calculating an ideal binary mask by a direct homographic        transformation of the initial mask (based on the transformation        of any polygonal shape into a reference polygonal shape),    -   for each pixel (u, v) of the useful portion of the ideal binary        mask, calculating by inverse homography, the position (x, y) in        the initial image, determining the value of the final image at        pixel (u, v) by an interpolated value at (x, y) in the initial        image.

Advantageously, the calculation of the inverse homography may comprise apreliminary calculation by inverse homography of the lines and columnsof each pixel of the ideal mask. It will then be possible to infer theposition of a given pixel in the initial image by calculating theintersection of both lines.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will be described hereafter, asnon-limiting examples, with reference to the appended drawings wherein:

FIG. 1 is a schematic illustration of the shooting of a document by acamera, the main parameters used in the method according to theinvention may be shown with this illustration;

FIG. 2 is a projection of the view illustrated in FIG. 1 in the plane ofthe image of the document;

FIG. 3 is a projection of the FIG. 2 type, but wherein one of the twovanishing points is projected to infinity;

FIG. 4 is a diagram relating to the characterization of the inside of aquadrilateral;

FIG. 5 illustrates a projective geometrical invariant;

FIG. 6 is a schematic illustration of the operating steps for an imageprocessing process according to the invention in order to obtain acorrected image;

FIGS. 7-11 are diagrams for illustrating the calculations performedaccording to the process illustrated in FIG. 6;

FIG. 12 shows an example of a pair of histograms, H_pits and H_bumps ina logarithmic coordinate reference system;

FIG. 13 is a schematic illustration for showing the main geometricalparameters of a camera;

FIG. 14 is a diagram illustrating the principle for constructing arectangular pattern having a prescribed physical aspect ratio, in thecase of absence of vanishing points.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the example illustrated in FIG. 1, the original document which isintended to be shot with a camera is positioned on a planar supportingmedium, horizontally.

The camera is positioned above the plane of the supporting medium andtherefore of the document, at a determined height, the axis of thecamera which is orientated towards the document being oblique (here, anangle of incidence of about 30°).

The image of the document taken by the camera is located in an imageplane which extends perpendicularly to the optical axis of the camera.

The orthogonal projection of the optical centre C of the camera in theplane of the supporting medium is called the base of the camera.

The plane passing through point C which is parallel to the plane of thesupporting medium is the apparent horizon of the supporting medium.

The pattern of a rectangle of document DT provides at the image, aquadrilateral A, B, C, D (FIG. 2), the segments DC and AB of which areborne by two lines (vanishing lines) which intersect at a point F₁ whilesegments DA and CB are borne by two lines (vanishing lines) whichintersect at a point F₂. The line bearing the segment F₁F₂ is thehorizon line.

As illustrated in FIG. 2:

-   -   X is the base of the camera (projection of the optical centre C        in the plane of the document)    -   M₁ is the intersection of lines (AD) and (F₁X)    -   N₁ is the intersection of lines (BC) and (F₁X)    -   M₂ is the intersection of lines (AB) and (F₂X)    -   N₂ is the intersection of lines (CD) and (F₂X)    -   δ is a positive constant representative of a conventional        distance measured from point X on axes (F₁,X) and (F₂,X)    -   i is the angle of incidence    -   E is an ellipse with a major axis parallel to (FX); its major        axis has a length δ/cos(i) and its minor axis has a length δ    -   O1 and P₁ are the intersections of (F₁,X) with ellipse E    -   O2 and P₂ are the intersections of (F₂,X) with ellipse E    -   O is the centre of the image    -   F is the orthogonal projection of the optical centre O of the        camera on line (F₁,F₂)

In accordance with the method according to the invention, calculation ofthe physical aspect ratio r (r=horizontal length/vertical length) of therectangle forming the original pattern is achieved according to one ofthe following three operating sequences:

-   -   1) The case when points F₁ and F₂ exist, segments AB, BC, CD, DA        not being parallel. In this case, the operating sequence        comprises the following phases:    -   a first phase for calculating the coordinates of point F by        projecting the centre of the image O on the horizon line (F₁,        F₂)    -   a second phase for calculating the position of the base of the        camera by its distance to point F, dist (X,F) by means of the        relationship:

${{dist}\left( {X,F} \right)} = \frac{{{dist}\left( {F,F_{1}} \right)} \cdot {{dist}\left( {F,F_{2}} \right)}}{{dist}\left( {O,F} \right)}$

This results from the following demonstration in three steps:

a) the angle between the base of the camera and horizon is 90° and it isinferred that

${i.\mspace{14mu} {\tan (i)}} = {{\frac{OX}{f}\mspace{14mu} {and}\mspace{14mu} {\tan \left( {\frac{\pi}{2} - i} \right)}} = \frac{OF}{f}}$${{{ii}.\mspace{14mu} {therefore}}\mspace{14mu} \frac{XF}{OF}} = {{1 + \frac{OX}{OF}} = \frac{1}{\cos^{2}(i)}}$

b) the angle between F₁ and F₂ is also 90° and it is inferred that

${i.\mspace{14mu} {\tan (j)}} = {{\frac{{FF}_{1}}{g}\mspace{14mu} {and}\mspace{14mu} {\tan \left( {\frac{\pi}{2} - j} \right)}} = \frac{{FF}_{2}}{g}}$

with g=OF/cos(i) and j being the angle between F₁ and F₂

from this, we obtain

${{{ii}.\mspace{14mu} {therefore}}\mspace{14mu} \frac{1}{\cos^{2}(i)}} = \frac{{FF}_{1} \cdot {FF}_{2}}{{OF}^{2}}$

c) the final formula for XF is obtained by combining relationships a)ii. and b) ii.,

-   -   a third phase for calculating the focal length f with the        relationship:

f=√{square root over (dist(O,X)·dist(O,F))}{square root over(dist(O,X)·dist(O,F))}(inferred from a)i. above)

-   -   a fourth phase for calculating the angle of incidence i        expressed by:

${{\tan (i)} = {\sqrt{\frac{{dist}\left( {O,X} \right)}{{dist}\left( {O,F} \right)}}\mspace{14mu} \left( {{inferred}\mspace{14mu} {from}\mspace{14mu} a} \right)i}},{above}$

-   -   a fifth phase for determining the coordinates of points M₁, N₁,        O₁ and P₁ from the values calculated earlier    -   a sixth phase for determining the coordinates of points M₂, N₂,        O₂ and P₂ from the values calculated earlier    -   a seventh phase for calculating the physical aspect ratio r by        using the crossed ratios and the fact that the rectangle O₁, O₂,        P₁, P₂ is the projection of a square extending in the plane of        the pattern centred on the base according to the relationship

$r = {\frac{{dist}\left( {M_{1},N_{1}} \right)}{{dist}\left( {M_{2},N_{2}} \right)} \cdot \frac{{dist}\left( {F_{1},O_{1}} \right)}{{dist}\left( {F_{1},M_{1}} \right)} \cdot \frac{{dist}\left( {F_{1},P_{1}} \right)}{{dist}\left( \left( {F_{1},N_{1}} \right) \right.} \cdot \frac{{dist}\left( {F_{2},M_{2}} \right)}{{dist}\left( {F_{2},O_{2}} \right)} \cdot \frac{{dist}\left( {F_{2},N_{2}} \right)}{{dist}\left( {F_{2},P_{2}} \right)}}$

This results from the fact that [O1,P1] and [O2,P2] are projections oftwo segments of the same length: [O1,P1] and [O2,P2] may be used assegments and the relative lengths of segments [M1,N1] and [M2,N2] may bemeasured by using the crossed ratios and r may be inferred from them.

2) The case when two of the segments are parallel (intersection point isprojected to infinity) (FIG. 3))

In this case, ratio r is obtained according to the followingrelationship:

$r = \frac{{{dist}\left( {A,B} \right)} \cdot {{dist}\left( {C,D} \right)}}{\left( {{{dist}\left( {C,D} \right)} - {{dist}\left( {A,B} \right)}} \right) \cdot \sqrt{f^{2} + {{dist}\left( {O,F_{2}} \right)}^{2}}}$

formula wherein f is the focal length of the camera (with theunderstanding that this focal length f is calculated beforehand).

3) The case when there is no vanishing point (segments AB, BC, CD, DAbeing parallel, two by two)

In this case, the ratio r is simply

$r = \frac{{dist}\left( {A,B} \right)}{{dist}\left( {A,D} \right)}$

These relationships are essentially based on invariants in projectivegeometry and in particular on the crossed ratios of four points, therelationships of which are expressed facing FIG. 5 which shows two viewsA*B*C*D*-A*₁B*₁C*₁D*₁ of a same object taken by a camera with opticalcentre O* with two different angles of incidence.

From points A*, B*, C*, and D*, a first series of crossed ratios

$\frac{A^{*}B^{*}}{A^{*}D^{*}} \div {\frac{{CB}^{*}}{{CD}^{*}}.}$

may be obtained.

Likewise, from points A*₁, B*₁, C*₁, D*₁ a second series of crossedratios

$\frac{A_{1}^{*}B_{1}^{*}}{A_{1}^{*}D_{1}^{*}} \div \frac{C_{1}^{*}B_{1}^{*}}{C_{1}^{*}D_{1}^{*}}$

is obtained.

Conservation of the crossed ratio is then expressed as

${\frac{A^{*}B^{*}}{A^{*}D^{*}} \div \frac{{CB}^{*}}{{CD}^{*}}} = {\frac{A_{1}^{*}B_{1}^{*}}{A_{1}^{*}D_{1}^{*}} \div \frac{C_{1}^{*}B_{1}^{*}}{C_{1}^{*}D_{1}^{*}}}$

In the case when one of the points, for example point A, is projected toinfinity, the ratio A*B*/A*D* is considered to be equal to 1.

As mentioned earlier, the invention also provides a method for reshapingthe image allowing the complexity of the homographic calculations to bereduced, calculations which were hitherto used notably when this imagecontains text.

FIG. 6 illustrates the different steps of this re-shaping mode whichcomprises:

a) a first step for calculating a binary mask deformed from an imagewhere the frame (or the page) has been detected, and the text (written)portion has been extracted. This step consists of affecting a zero valueto all the pixels which are outside a quadrilateral surrounding theuseful portion of the image as well as the pixels which do notcorrespond to the writing.

The position of a point inside or outside a quadrilateral may bedetermined according to the method illustrated in FIG. 4.

This figure shows in an x,y coordinate reference plane, a quadrilateralA′, B′, C′, D′, as well as, inside this quadrilateral, two points P andG of coordinates xp, yp and xo, yo. The G point may consist of thecentre of gravity of the quadrilateral A′, B′, C′, D′ or more simply ofthe centre of its diagonals, for example the centre of segment B′D′.

Segments A′B′-B′C′-C′D′ and D′A′ are borne by lines D₁, D₂, D₃, D₄,respectively.

The expression of these lines and more generally of a line Di with i=1,2, 3, 4 is of the type:

ai·x+bi·y+ci=0

ai, bi, ci being constants.

Point P is therefore inside the quadrilateral if and only if, it isalways on the same side as G relatively to the limits of thequadrilateral (each limiting line D₁-D₄ dividing the plane into twoportions): this amounts to stating that:

ai·xp+bi·yp+ci and ai·xo+bi·yo+co have the same sign for i belonging tothe set {1,2,3,4}. This is written in the following form:

∀iε{1,2,3,4}(ai·xp+bi·yp+ci)·(ai·xo+bi·xo+ci)≧0

b) A second step for calculating the ideal mask by direct homography.

Reference will be made here to FIG. 7 which illustrates the principlefor calculating the image of a point by homography. On this figure, aquadrilateral P₁, P₂, P₃, P₄ determined by using the method describedearlier (page) and a point of coordinates (u,v) located inside thisquadrilateral, are illustrated.

Point O, if it exists, is the intersection of lines (P₁, P₂) and (P₃,P₄). Point Q is the intersection of lines (P₁, P₄) and (P₂, P₃). Point Iis the intersection of segments OP and P₁P₄, whereas J is theintersection of segments QP and P₃P₄.

It is known that homography provides the transformation of aquadrilateral (here, P₁-P₄) into a rectangle H(P₁), H(P₂), H(P₃), H(P₄)visible in FIG. 8.

In this FIG. 8, a point (x,y) with coordinates H(I), H(J) is alsoillustrated and the length D_(x) and the width D_(y) of the rectangleare shown.

Conservation of the crossed ratios then gives:

${\frac{{OP}_{4}}{{OP}_{3}} \cdot \frac{{JP}_{3}}{{JP}_{4}}} = \frac{{Dx} - 1 - x}{x}$${\frac{{QP}_{4}}{{QP}_{1}} \cdot \frac{{IP}_{1}}{{IP}_{4}}} = \frac{{Dy} - 1 - y}{y}$

The coordinates of H(P) may be inferred therefrom

$x = \frac{\left( {{Dx} - 1} \right) \cdot {OP}_{3} \cdot {JP}_{4}}{{{OP}_{3} \cdot {JP}_{4}} + {{OP}_{4} \cdot {JP}_{3}}}$$y = \frac{\left( {{Dy} - 1} \right) \cdot {OP}_{1} \cdot {JP}_{4}}{{{QP}_{1} \cdot {IP}_{4}} + {{QP}_{4} \cdot {IP}_{1}}}$

The calculation of the image of a line by homography obviously resultsfrom this calculation as the image of a line simply consists of thesegment joining the images of both points of the original line.

The calculation of the ideal mask is performed according to thefollowing process:

Let (i,j) be a pixel which corresponds to the writing in the deformedbinary mask with its four subpixels which surround it (FIG. 9):

$\left( {{i - \frac{i}{2}},{j - \frac{1}{2}}} \right),\left( {{i - \frac{1}{2}},{j + \frac{1}{2}}} \right),{\left( {{i + \frac{1}{2}},{j + \frac{1}{2}}} \right)\left( {{i + \frac{1}{2}},{j - \frac{1}{2}}} \right)}$

Let us assume that A, B, C and D are the images of these subpixels bydirect homography (FIG. 10). A, B, C, D is therefore a quadrilateral.Let us consider the smallest rectangle which this quadrilateralcontains. All the pixels contained in this rectangle are set to the“true” value for example 1.

An ideal binary mask may be obtained from this. A mechanism should thenbe established for calculating the image of a point with coordinates inthe form of (u±½, v+½) wherein u, v is a pixel.

For this purpose, a point P of the coordinate plane (u+½, v+½) isconsidered. This point is determined by the intersection of twointermediate lines: the vertical line of coordinate u+½ and thehorizontal line of coordinate v+½. The image of point P is then at theintersection of the images of the horizontal and vertical lines obtainedby homography.

Accordingly, the images of these intermediate lines (and intermediatecolumns) are calculated beforehand. As soon as these images have beenprecalculated, the images of the subpixels are obtained by theintersection of two precalculated images of intermediate lines.

c) A third inverse homography step.

In order to calculate the final image, to each pixel of the binary mask,an intensity value must be assigned, which is calculated by finding theposition of this pixel in the initial image: for this purpose, aninverse homography calculation needs to be performed.

Thus, by repeating the symbology of FIGS. 7 and 8, (x,y) is consideredto be a pixel of the ideal mask. This pixel is at the intersection ofline y and of column x. The position of this pixel in the deformed imageis then obtained by obtaining the intersection of the images of the lineand column by inverse homography.

The parameters of lines (QJ) and (OI) should then be found in order tocalculate their intersection P. The position of points I and J shouldthen be calculated. This result is easily obtained by finding distancesJP₃ and IP₁, for example.

This is possible by using the following form of crossed ratios:

${\frac{{OP}_{4}}{{OP}_{3}} \cdot \frac{{JP}_{3}}{P_{3}P_{4}{JP}_{3}}} = \frac{{Dx} - 1 - x}{x}$${\frac{{OP}_{4}}{{OP}_{1}} \cdot \frac{{JP}_{1}}{P_{1}P_{4}{JP}_{1}}} = \frac{{Dy} - 1 - y}{y}$${IP}_{1} = \frac{P_{1}{P_{4} \cdot \left( {{Dy} - 1 - y} \right) \cdot {QP}_{1}}}{{\left( {{Dy} - 1 - y} \right) \cdot {QP}_{1}} + {y \cdot {QP}_{4}}}$

It then becomes possible to calculate the position of point P.

Practically, the images are calculated beforehand by inverse homographyof the lines and columns of the ideal mask. The position of a givenpixel is then inferred in the original image by calculating theintersection of two lines (in this example, the two lines avec (OI) and(QJ)).

Of course, the invention is not limited to this single method.

d) A fourth step for creating the final image:

Let (u,v) be a pixel of the ideal mask. Its position in the deformedinitial image is calculated by the intersection of precalculated inverseimages of line v and column u. The point which is found, is then called(x,y). An intensity value should then be assigned to pixel (u,v) whichwill be interpolated in point (x,y) of the initial image. To accomplishthis operation, bilinear interpolation is used, for example.

If the pixels surrounding point (x,y) such as illustrated in FIG. 11,are considered, the interpolated intensity is given by formula:

I(x,y)=(y−j)[(i+1−x)I(i,j+1)+(x−i)I(i+1,j+1)]+(j+1−y)[(i+1−x)I(I,j)+I(I+1,j)]

Pixel (u,v) in the final image will then have intensity I(x,y) with theunderstanding that the grey levels are quantified in the final image.

Advantageously, the image containing the corrected extracted data fromthe noise may be calculated according to the subtractive principle.

It is known that luminance is equal to a combination of the intensitiesof the fundamental colours (red, green, blue): for exampleL=0.5G+0.3R+0.2B.

Thus, in accordance with the method according to the invention, for eachof the pixels, one successively proceeds with extracting the luminance,extracting the raw data D(p), calculating the noise contextual datumV_(S), extracting the noise corrected raw data D*(p) by means of thenoise contextual datum, and then generating the luminance imagecorrected by the following calculation:

${I^{*}(p)} = \left\{ \begin{matrix}{I_{\max} - {{f \cdot {D^{*}(p)}}\left( \frac{{dark}\mspace{14mu} {data}}{bright} \right)\left( {I_{\max}\mspace{14mu} {may}\mspace{14mu} {be}\mspace{14mu} {equal}\mspace{14mu} {to}\mspace{14mu} 255} \right)}} \\{I_{\min} + {{f \cdot {D^{*}(p)}}\left( \frac{{bright}\mspace{14mu} {data}}{dark} \right)\left( {I_{\min}\mspace{14mu} {may}\mspace{14mu} {be}\mspace{14mu} {equal}\mspace{14mu} {to}\mspace{14mu} {zero}} \right)}}\end{matrix} \right.$

Advantageously, in the case of a colour image, the subtractive principlemay be used by removing contrasts of determined chrominances from thebackground colour, as with a filter, in order to obtain the sought-aftercolour for the final image.

For example, the noise contextual datum V_(S) may be extracted on thebasis of the luminance image, and then the corrected raw data may beextracted from the noise (D*_(R),D*_(G),D*_(B)) of the colour channelsby calculating the raw data of channels D_(R), D_(G), D_(B), expressingthe contrast between the observed chrominance RGB and that of thebackground (V_(R) ^(Back.), V_(G) ^(Back.), V_(B) ^(Back.)) andthresholding by means of V_(S), and finally generating the correctedchrominance image.

${R^{*}G^{*}B^{*}} = \begin{Bmatrix}{\left( {V_{R}^{Back},V_{G}^{Back},V_{B}^{Back}} \right) - {{f \cdot \left( {{D_{R}^{*} \cdot D_{G}^{*}},D_{B}^{*}} \right)}\left( \frac{{dark}\mspace{14mu} {data}}{bright} \right)}} \\\left( {\left( {V_{R}^{Back},V_{G}^{Back},V_{B}^{Back}} \right)\mspace{14mu} {may}\mspace{14mu} {be}\mspace{14mu} {equal}\mspace{14mu} {to}\mspace{14mu} \left( {255,255,255} \right)} \right) \\{\left( {V_{R}^{Back},V_{G}^{Back},V_{B}^{Back}} \right) + {{f \cdot \left( {{D_{R}^{*} \cdot D_{G}^{*}},D_{B}^{*}} \right)}\left( \frac{{bright}\mspace{14mu} {data}}{dark} \right)}} \\\left( {\left( {V_{R}^{Back},V_{G}^{Back},V_{B}^{Back}} \right)\mspace{14mu} {may}\mspace{14mu} {be}\mspace{14mu} {equal}\mspace{14mu} {to}\mspace{14mu} \left( {0,0,0} \right)} \right)\end{Bmatrix}$

As an example, let us assume that at a pixel, the estimated chrominanceof the background corresponding to a white area of the supporting mediumis (V_(R) ^(Back.), V_(G) ^(Back.), V_(B) ^(Back.))=(160, 140, 110), andthat this pixel represents a blue writing area with chrominance (V_(R)⁰, V_(G) ⁰, V_(B) ⁰)=(120, 115, 105). Let us assume that the correctedwhite/blue contrast of the optical noise is(D*_(R),D*_(G),D*_(B))=(160-120, 140-115, 110-105)=(40, 25, 5). Let usset the chrominance of the pixels of the final image representing thewhite areas of the supporting medium to (R_(B), G_(B), B_(B))=(255, 255,255), the corrected chrominance of this pixel in the final image is thendetermined by subtracting the contrast weighted earlier by an f factor,from that of the white, so that the corrected chrominance (R*,G*,B*) ofthe final image in this pixel will be, if f=1,(R*,G*,B*)=(R_(B)−D*_(R),G_(B)−D*_(G),B_(B)−D*_(B))=(255−40, 255−25,255−5)=(215, 230, 250).

The f factor mentioned earlier may be advantageously used for aligningthe obtained colours with reference colours, displayed for example on atest pattern.

Of course, the invention is not limited to the embodiments describedearlier.

Thus, it is notably found that the usual process for determining thethreshold value V_(S) at which a handwritten or printed piece ofinformation may be extracted from each pixel of the difference imageD(p) (based on knowing beforehand the probability q that a regionalmaximum of raw data D(p) is generated by noise), has the two followingdrawbacks:

-   -   First of all, probability q must be known experimentally for        each camera module in order to perform extraction of information        from their images. This prevents any extracted information        derived from an image captured by an unknown camera module, from        being considered as trustworthy information (for example,        extraction of information from an image received on a server,        for forwarding it by fax to an addressee).    -   Next, it is mandatory to know beforehand whether the information        is dark-on-bright-background information or vice versa.

The invention therefore provides an enhancement of this method withwhich the two drawbacks mentioned earlier may be avoided. Thisenhancement notably provides accurate determination of the thresholdvalue V_(S), at which the printed or handwritten information may beextracted from the difference image D(p) (analogous to D[C,L]) anddetermination whether the information is dark on a bright background orvice versa, bright on a dark background.

By considering a grey level image I(p) which may either be a combinationof the three colour channels of the image (red, blue, green) or one ofthese three channels, the method according to the invention comprisesthe following steps, with reference to FIG. 12:

1) A first step for calculating a pit histogram H_pits includes thefollowing operating phases:

a) for each pixel p of image I, the following is performed:

i. for each direction d with 0<|d|<D:

if the condition

-   -   convexity of I on [p−d, p+d] i.e.

I(p+(1−2×)d)≦λI(p−d)+(1−λ)I(p+d) for any 0≦λ≦1

is satisfied

then G(p,d)=(I(p+d)+I(p−d))/2 is calculated

or else G(p,d)=0

ii. S(p)=maximum value of G(p,d) is calculated for all directions d with0<|d|<D

b) the maximum value of the pits, S_pits_max is calculated, which isequal to the maximum value of S(p) for all the pixels p

c) the pit histogram H_pits is reset to 0 for each value of s between 0and the maximum value of the pits, S_pits_max

d) for each pixel p of image S(p) the following calculations areperformed:

i. if S(p) is a regional maximum,

H_pit (S(p)) is incremented in the following way:

H_pit(S(p))←H_pit(S(p))+1

2) A second step for calculating the bump histogram H_bumps includes thefollowing operating phases:

a) for each pixel p of image I, the following is performed:

i. for each direction d with 0<|d|<D

-   -   if the following condition    -   concavity of I on [p−d, p+d], i.e.,

I(p+(1−2λ)d)≧λI(p−d)+(1−λ)I(p+d) for any 0≦≦λ≦1

then G(p,d)=(I(p+d)+I(p−d))/2 is calculated

or else G(p,d)=0

ii. S(p)=maximum value of G(p,d) is calculated for all directions d with0<|d|<D

b) the maximum value of the bumps S bumps_max is calculated, which isequal to the maximum value of S(p) for all the pixels p

c) the bump histogram H_bumps(s) is reset to 0 for each s between 0 andthe maximum value of the bumps, S bumps_max

d) for each pixel p of image S(p), the following calculations areperformed:

i. if S(p) is a regional maximum

H_bumps(S(p)) is incremented in the following way:

H_bumps(S(p))←H_bumps(S(p))+1

3) A third step for superimposing pit H_pits and bump H_bumps histogramsincludes the following operating steps:

-   -   a) calculating S_max according to the expression:

S _(max)=Max(maximum value of the pits S_pits_max,maximum value of thebumps S_bumps−max)

-   -   b) calculating H_max according to the expression:

H_max=maximum value of the pits,H_pits(S) and of the bumps,H_bumps(S),for all values of S

-   -   c) calculating s0 according to the expression:    -   s0=maximum value of s such that

H_pits(s)=H_max

-   -   or H_bumps(s)=H_max    -   d) s=s0+1 is calculated and α is selected such that 0<α<½ and as        long as:

|ln(1+H_pits(s))−ln(1+H_bumps(s))<α·ln(1+H_max)

s=s+1 is performed (where in is Napier's logarithm function)

finally, value 5 min is determined by the final value of s incrementedby 1

4) A step for calculating the value of the extraction threshold V_(S)according to the relationship:

V _(S) =r·S _(min)+(1−r)·S _(max) where ½≦r≦1

5) A step for comparing H_pits and H_bumps includes the followingoperating phases for β>0:

a) calculating a value N_pits from the relationship:

N_pits=sum of H_pits(s)^(β) for s=5 min to s=S_pits_max

b) calculating a value N_bumps from the relationship:

N_bumps=sum of H_bumps(s)^(β) for s=S _(min) to s=S_bumps_max

c) if N_pits is less than N_bumps, then the dark-on-bright-backgroundinformation should be extracted or else the bright-on-dark-backgroundinformation should be extracted

6) A step for extracting luminance information L(p) includes thefollowing operating phases:

a) calculating D according to a known method

b) for each pixel p in the difference image D(p),

if D(p)>V_(S), then D(p) is considered relevant and is extracted

i. if the information is dark-on-bright-background information,calculating a value, L(p)=I_(max)−f·D(p), I_(max) may be equal to 255

ii. or else the value L(p)=I_(min)+f·D(p) is calculated, I_(min) may beequal to 0

If D(p) is not considered relevant

i. if the information is dark-on-bright-background information, thevalue of L(p) is equal to I_(max) (bright background)

ii. or else the value of L(p) is equal to I_(min) (dark background)

As an example, satisfactory results may be obtained with the followingparameters:

D=3

α=20%

r=85% for extraction

f=5

The invention also relates to the simulation of an image of a rectangle(A, B, C, D) with a prescribed physical aspect ratio r=CD/AD, aprescribed point of the projected rectangle in the image (for examplepoint D) and a known projected distance (for example CD) with a camerahaving a prescribed focal length (f), a tilt angle (π/2)−i where i isthe angle of incidence), α is an angle of rotation around the axis ofthe camera and if i≠0, a prescribed skew angle (β) relatively to one ofthe existing vanishing points (for example F₁). These differentparameters are indicated in FIG. 13 which schematically illustrates acamera, with its optical axis and the focal point with the ox, oy, ozcoordinate reference system which is bound to this focal point.

The solution of this problem comprises the three following steps whichrefer to FIGS. 2 and 3 and to FIG. 14, i.e.:

-   -   A first step for calculating the position of the three unknown        points A, B and C (point D being prescribed) in the new image        which must be generated. The points must be consistent with the        physical aspect ratio r of the pattern which must be projected        on this new image and the position of the camera (focal        distance, tilt angle, angle of rotation, skew angle) which must        be simulated.    -   A second step for calculating homographic relationships in order        to project the information contained in the pattern of the        original image on the calculated pattern of the simulated image.    -   A third step for determining luminance and chrominance of the        new image within the contour calculated from the original image        with homographic relationships.

Calculation of the three unknown points of the pattern takes intoaccount the three following cases:

If i≠0 (there is at least one vanishing point), the calculationcomprises the four following operating phases:

-   -   1. OX=f·tan(i)    -   2. OF=f/tan(i)    -   3. Points X and F are placed on a line crossing through the        centre of image O and forming an angle α relatively to the        vertical    -   4. Point F₁ is placed such that

FF ₁ =f tan(β)/sin(i)

a) if β≠0 (2 vanishing points)

-   -   i) point F₂ is placed such that FF₂=(OF·XF)/FF₁    -   ii) points M₁, C, N₁, O₁, P₁, O₂, P₂ and N₂ are inferred from        points X, F₁, F₂ (if β≠0), D and from distance DC,    -   iii) point M₂ is placed so as to obtain the relationship

$r = {\frac{{dist}\left( {M_{1},N_{1}} \right)}{{dist}\left( {M_{2},N_{2}} \right)} \cdot \frac{{dist}\left( {F_{1},O_{1}} \right)}{{dist}\left( {F_{1},M_{1}} \right)} \cdot \frac{{dist}\left( {F_{1},P_{1}} \right)}{{dist}\left( {F_{1},N_{1}} \right)} \cdot \frac{{dist}\left( {F_{2},M_{2}} \right)}{{dist}\left( {F_{2},O_{2}} \right)} \cdot \frac{{dist}\left( {F_{2},N_{2}} \right)}{{dist}\left( {F_{2},P_{2}} \right)}}$

b) if β≠0 (only one vanishing point: F₁=F) (FIG. 3)

i) point A is placed on line (DF) such that

${AF} = {r \cdot {DF} \cdot \frac{\sqrt{f^{2} + {OF}^{2}}}{{DC} + {r\sqrt{f^{2} + {OF}^{2}}}}}$

ii) point B is placed on line (FC) such that BF=CF·(AF/DF)

c) if i=0 (no vanishing point) (FIG. 14)

-   -   1) point C is placed by using point D, distance DC and the angle        of rotation α    -   2) point B is placed such that (A, B, C, D) is a rectangle.

1. Method for extracting raw data from a digital image taken by aphotographic or cinematographic for correcting the extracted raw dataand for generating an improved digital image containing the correctedraw data in the case when extracted data from an image or of an imagecontaining them, are shown according to a desired view angle, from animage taken by a camera under any incidence, which comprises the steps:searching for at least four identifiable characteristic points of apattern present in the image taken by the camera defining contextualdata, these characteristic points may consist of corners of the image,optionally extracting data according to predetermined criteria,calculating geometrical deformations to be made to the raw image or tothe extracted data or to the image containing them, from the relativeposition of the four points, with respect to relative referencepositions, determining corrections to be made to the raw image or to theextracted data or to the image containing them, depending on thegeometrical deformations, and generating a corrected image taking intoaccount the thereby determined corrections.
 2. The method according toclaim 1, for obtaining a corrected image having the same proportions asthe object, said method comprises the determination of the realheight/width ratio of the quadrilateral defined by the said points andthe taking into account of this ratio r in the generation of thecorrected image.
 3. The method according to claim 2, wherein saidquadrilateral is the projection of a rectangle, and in that thedetermination of the proportions of the rectangle is performed inaccordance with a process comprising the following steps: determiningvanishing points from contours of the pattern and determining a horizonline connecting the vanishing points, determining the coordinates of theprojection point F of the optical centre O of the camera on the horizonline, calculating the camera base point as orthogonal projection of theoptical centre of the camera on the plane of the pattern from distancesbetween the vanishing points and the projection point F and from thedistance between this projection point F and the optical centre O,calculating the focal length from the distances between the opticalcentre, the projection point F and the camera base point, calculatingthe coordinates of the intersection points between the vanishing linesand the lines connecting the camera base point and the vanishing pointsas well as points O₁, O₂, P₁, P₂, located on the vanishing lines, at aconventional distance from the camera base point, and calculating theratio of the sides of the initial pattern from the coordinatescalculated beforehand by considering that the rectangle O₁, O₂, P₁, P₂,is the projection of a square extending in the plane of the pattern. 4.The method according to claim 3, which comprises the following steps inthe case when both vanishing points exist, calculating the coordinatesof the point F by projecting the centre of the image O on the horizonline (F₁, F₂) calculating the position of the base of the camera by itsdistance to point F, dist (X,F), by means of the relationship:${{dist}\left( {X,F} \right)} = \frac{{{dist}\left( {F,F_{1}} \right)} \cdot {{dist}\left( {F,F_{2}} \right)}}{{dist}\left( {O,F} \right)}$calculating the focal length f with the relationship:f=√{square root over (dist(O,X)·dist(O,F))}{square root over(dist(O,X)·dist(O,F))} determining the coordinates of points M₁, N₁, O₁and P₁ from the values calculated beforehand determining the coordinatesof points M₂, N₂, O₂ and P₂ from the values calculated earlier, andcalculating the physical aspect ratio r by using the crossed ratios andthe fact that the rectangle O₁, O₂, P₁, P₂ is the projection of a squareextending in the plane of the pattern according to the relationship$r = {\frac{{dist}\left( {M_{1},N_{1}} \right)}{{dist}\left( {M_{2},N_{2}} \right)} \cdot \frac{{dist}\left( {F_{1},O_{1}} \right)}{{dist}\left( {F_{1},M_{1}} \right)} \cdot \frac{{dist}\left( {F_{1},P_{1}} \right)}{{dist}\left( {F_{1},N_{1}} \right)} \cdot \frac{{dist}\left( {F_{2},M_{2}} \right)}{{dist}\left( {F_{2},O_{2}} \right)} \cdot \frac{{dist}\left( {F_{2},N_{2}} \right)}{{dist}\left( {F_{2},P_{2}} \right)}}$5. The method according to claim 2 wherein, in the case when only onepair of vanishing lines intersect at a vanishing point whereas the othertwo vanishing lines are parallel, wherein the vanishing point projectedto infinity, the calculation of the ratio r will be performed from apre-established focal length f of the camera.
 6. The method according toclaim 5 wherein said ratio r is obtained according to the followingrelationship wherein f is$r = \frac{{{dist}\left( {A,B} \right)} \cdot {{dist}\left( {C,D} \right)}}{\left( {{{dist}\left( {C,D} \right)} - {{dist}\left( {A,B} \right)}} \right) \cdot \sqrt{f^{2} + {{dist}\left( {O,F_{2}} \right)}^{2}}}$the focal length of the camera wherein the focal length f is calculatedbeforehand.
 7. The method according to claim 2 wherein, if there is novanishing point, the ratio r is equal to the ratio$r = \frac{{dist}\left( {A,B} \right)}{{dist}\left( {A,D} \right)}$ 8.The method according to claim 1 wherein, the generation of a correctedimage comprises an operating sequence including the following phases:creating an initial, deformed binary mask of the area to be corrected byisolating the useful portion of the initial image containing theextracted data and by assigning the same binary value to the pixels ofthis useful portion, calculating an ideal binary mask by a directhomographic transformation of the initial mask based on thetransformation of any polygonal shape into a reference polygonal shape,and for each pixel (u, v) of the ideal binary mask, calculating byinverse homography, the position (x, y) in the initial image,determining the value of the final image at pixel (u, v) by an (x, y)interpolated value in the initial image.
 9. The method according toclaim 8 wherein said step for creating a binary mask comprises assigninga zero value to all the pixels which are outside a quadrilateralsurrounding the useful portion of the image as well as to the pixelswhich do not correspond to optionally extracted data.
 10. The methodaccording to claim 9 wherein the pixels are considered to be within thequadrilateral if they are always on the same side as a point G insidethe quadrilateral relatively to the limits of the quadrilateral, point Gmay consist of the centre of gravity or the point of intersection of thediagonals.
 11. The method according to the claim 1 comprising aprecalculation of the images of intermediate lines and intermediatecolumns in order to obtain the images of subpixels by intersection ofprecalculated images of intermediate lines and intermediate columns. 12.The method according to the claim 8, wherein, in the calculation of thefinal image, to each pixel of the ideal binary mask is assigned anintensity value which is calculated by finding the position of thispixel in the initial image or the image of the extracted data.
 13. Themethod according to the claim 8, wherein, in the phase for calculatingthe final image, the images are precalculated by inverse homography ofthe lines and columns of the ideal mask, and the position of a givenpixel in the initial image is then inferred by calculating theintersection of two lines.
 14. The method according to claim 1, whereinthe step for creating the final image comprises the calculation of theposition in the deformed image of a pixel u,v of the ideal mask, by theintersection of the precalculated inverse images of line v and column u,an intersection which defines an x,y point of the initial image, and inthat an intensity value is assigned to the pixel (u,v) which is theninterpolated at the x, y point of the initial image or image of dataextracted from the luminance image or from each colour channel.
 15. Themethod according to claim 14, wherein the interpolation is bilinear. 16.The method according to the claim 1, comprising the simulation of animage, projected from data contained in a rectangular object with apices(A, B, C, D) having a prescribed physical aspect ratio r=CD/AB, aprescribed projected point D in the image and a known projected distance(CD), with a camera having a prescribed focal length (f), a tilt angle((π/2)−i) where i is the angle of incidence, an angle of rotation αaround the axis of the camera and if i≠0, a prescribed skew angle (β)relatively to one of the existing vanishing points F₁, said methodcomprising the following steps: a first step for calculating theposition of the three unknown points (A,B,C) consistently with thephysical aspect ratio r, a second step for calculating homographicrelationships in order to project the information contained in theoriginal rectangular object onto the simulated image, and a third stepfor determining luminance and chrominance of the simulated image withthe homographic relationships determined earlier.